package com.mhc.suzuki.form;


import lombok.Data;

import java.io.Serializable;
import java.time.LocalDateTime;

/**
 * 新增或修改贷款表单(包括车辆，贷款，垫资)
 */
@Data
public class LoanInfoForm implements Serializable {

    private static final long serialVersionUID = 1L;

    /**
     * 自增主键，贷款信息ID
     */
    private Long loanInfoId;

    /**
     * 订单号
     */
    private String orderNo;

    /**
     * 业务类型编号，对应数据字典
     */
    private Long bizTypeId;

    /**
     * 业务类型名
     */
    private String bizTypeName;

    /**
     * 贷款银行ID，对应数据字典中银行ID
     */
    private Long bankId;

    /**
     * 贷款期限
     */
    private Integer period;

    /**
     * 开票价
     */
    private java.math.BigDecimal billingAmount;

    /**
     * 公司费率
     */
    private java.math.BigDecimal companyChargeRate;

    /**
     * 执行费率
     */
    private java.math.BigDecimal executionRate;

    /**
     * 贷款额度
     */
    private java.math.BigDecimal loanAmount;

    /**
     * 首付额
     */
    private java.math.BigDecimal downPayment;

    /**
     * 首付比例
     */
    private java.math.BigDecimal downPaymentRate;

    /**
     * 贷款比例
     */
    private java.math.BigDecimal loanRate;

    /**
     * 月还款额
     */
    private java.math.BigDecimal monthlyPayment;

    /**
     * 放款金额
     */
    private java.math.BigDecimal bankLoanAmount;

    /**
     * 银行放款日期
     */
    @SuppressWarnings("squid:S3437")
    private LocalDateTime bankLoanDate;

    /**
     * 实际垫资金额（也即更改垫资金额）
     */
    private java.math.BigDecimal actualLoaningAmount;

    /**
     * 维护贷款信息的员工ID
     */
    private Long staffId;

    /**
     * 备注
     */
    private String remark;

    /**
     * 是否已删除：0 正常，1 已删除
     */
    private Integer isDeleted;

    //请求垫资

    /**
     * 自增主键，请款单ID
     * pcl_payment_request.payment_request_id
     */
    private Long paymentRequestId;

    /**
     * 客户编号
     * pcl_payment_request.customer_id
     */
    private Long customerId;

    /**
     * 垫款收款方经销商ID，有可能与订单经销商ID相同也可能不同，当payee_dealer_id为空时，去dealer_id对应的银行账号作为垫款的收款账户。
     * pcl_loan_info.payee_dealer_id
     */
    private Long payeeDealerId;
    /**
     * 收款方账号名称，如经销商名称
     */
    private String payeeDealerName;

    /**
     * 收款方开户银行名称
     * pcl_payment_request.payee_bank_name
     */
    private String payeeBankName;

    /**
     * 收款方银行卡号
     * pcl_payment_request.payee_bank_card
     */
    private String payeeBankCard;
    /**
     * 支付方式，如网银
     * pcl_payment_request.payment_way
     */
    private Integer paymentWay;

    /**
     * 贷款用途
     * pcl_payment_request.loan_useage
     */
    private String loanUseage;

    /**
     * 垫资金额
     */
    private java.math.BigDecimal loaningAmount;

    /**
     * 垫资日期
     */
    @SuppressWarnings("squid:S3437")
    private LocalDateTime loaningDate;

    /**
     * 业务员名称
     */
    private String staffName;

    /**
     * 打款确认员工ID
     */
    private Long handleStaffId;

    /**
     * 业务员所属部门ID
     */
    private Long deptId;

    /**
     * 业务员所属部门名称
     */
    private String deptName;

    /**
     * 申请状态
     */
    private String applyStatus;

    //垫资结束


    /**
     * 自增主键，车辆ID
     */
    private Long carId;

    /**
     * 车规：国产，进口
     */
    private Integer carSpec;

    /**
     * 品牌车型
     */
    private String carModel;

    /**
     * 车辆级别：0 轿车，
     */
    private Integer carLevel;

    /**
     * 二手车车龄
     */
    private String carAge;

    /**
     * 座位数
     */
    private Integer seats;

    /**
     * 是否新车 0 新车 1 二手车
     */
    private Integer isNewCar;

    /**
     * 经销商编号
     */
    private String dealerId;

    /**
     * 经销商名称
     */
    private String dealerName;

    /**
     * 车主（行驶车主）
     */
    private String carOwner;

    /**
     * 有无续保 0 无续保，1 有续保
     */
    private Boolean renewalInsurance;

    /**
     * 车价
     */
    private java.math.BigDecimal dealPrice;

    /**
     * 新车指导价
     */
    private java.math.BigDecimal guidePrice;

    /**
     * 牌照类型
     */
    private Integer licensePlateType;

    /**
     * 上牌地
     * pcl_car_info.license_plate_addr
     */
    private String licensePlateAddr;

    /**
     * 发票开具单位
     * pcl_car_info.invoice_vendor
     */
    private String invoiceVendor;

    /**
     * 发票号
     * pcl_car_info.invoice_num
     */
    private String invoiceNum;

    /**
     * 车架号
     * pcl_car_info.vin_no
     */
    private String vinNo;

    /**
     * 发动机号
     * pcl_car_info.engine_num
     */
    private String engineNum;

    /**
     * GPS编号
     * pcl_car_info.gps_num
     */
    private String gpsNum;

    /**
     * gps安装位置
     * pcl_car_info.gps_set_location
     */
    private String gpsSetLocation;

    /**
     * GPS厂商
     * pcl_car_info.gps_factory
     */
    private String gpsFactory;


}
